Integrated Abstract Interpretation and Online Specialization

ثبت نشده
چکیده

Interpretation vs. Program Specialization At first sight abstract interpretation and program specialization might appear to be unrelated techniques: abstract interpretation focusses on correct and precise analysis, while the main goal of program specialization is to produce more efficient specialized code (for a given task at hand). Nonetheless, it is often felt that there is a close relationship between abstract interpretation and program specialization and, recently, there has been a lot of interest in the integration and interplay of these two techniques (see, e.g., [33, 184, 143, 102, 182, 192, 188, 74]). From Partial Deduction to Abstract Partial Deduction In this paper we would like to make the relationship between partial deduction and abstract interpretation more concrete, and provide a formal framework for integrating these two techniques. This will also pave the way for new, much more powerful specialization (and analysis) techniques, e.g., by using more refined abstract domains. Indeed, “classical” partial deduction turns out to be often too limited (see, e.g., [66, 44, 143, 135] to name just a few) and a lot of extensions have been developed to remedy its shortcomings (such as partial deduction with characteristic trees [60, 140], constrained partial deduction [128], conjunctive partial deduction [129, 79, 42]). However, every time such an extension is developed, correctness has to be re-established from scratch: a very tedious and time-consuming process. By providing a very general framework, we want to reduce this work to minimum (at the same time allowing more powerful extensions): when developing a new instance of the framework one just has to prove some basic properties of the underlying operations and one can then re-apply the correctness results presented in this paper with minimal effort. Finally, the framework also allows the tupling [24] and deforestation [215] capabilities of conjunctive partial deduction to be added to abstract interpretation. Overview After introducing the essence of partial deduction in Section 2, we investigate the relationship between partial deduction and program analysis in Section 3. Then, we define the

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Computing Types during Program Specialization

We have developed techniques for obtaining and using type information during program specialization (partial evaluation). Computed along with every residual expression and every specialized program is type information that bounds the possible values that the specialized program will compute at run time. The three keystones of this research are symbolic v&es that represent both the set of values...

متن کامل

Abstract Specialization and Its Application to Program Parallelization

Specialization and its Application to Program Parallelization Germán Puebla and Manuel Hermenegildo {german,herme}@fi.upm.es Department of Computer Science Technical University of Madrid (UPM) Abstract. Program specialization optimizes programs for known valúes of the input. It is often the case that the set of possible input valúes is unknown, or this set is infinite. However, a form of specia...

متن کامل

An Integration of Partial Evaluation in a

Information generated by abstract interpreters has long been used to perform program specialization. Additionally, if the abstract interpreter generates a multivariant analysis, it is also possible to perform multiple specialization. Information about values of variables is propagated by simulating program execution and performing xpoint computations for recursive calls. In contrast, traditiona...

متن کامل

Abstract Multiple Specialization and Its Application to Program Parallelization

MÚLTIPLE SPECIALIZATION AND ITS APPLICATION TO PROGRAM PARALLELIZATION G E R M Á N PUEBLA AND MANUEL H E R M E N E G I L D O |> Program specialization optimizes programs for known valúes of the input. It is often the case that the set of possible input valúes is unknown, or this set is infinite. However, a form of specialization can still be performed in such cases by means of abstract interpre...

متن کامل

A Generic Framework for the Analysis and Specialization of Logic Programs

The relationship between abstract interpretation and partial deduction has received considerable attention and (partial) integrations have been proposed starting from both the partial deduction and abstract interpretation perspectives. In this work we present what we argue is the first fully described generic algorithm for efficient and precise integration of abstract interpretation and partial...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003